home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2006 May / PCWMAY06.iso / Software / Freeware / First Page 2006 3.00 / fp2006-final-3.00-setup.exe / {app} / Iscripts / Forms Misc / uk-postcode-val.izs < prev    next >
Text File  |  2005-09-28  |  7KB  |  214 lines

  1. <!NOWIZARD>
  2.  
  3. <!TITLE>UK Postcode Validation 
  4.  
  5. <!/TITLE>
  6.  
  7. <!DESCRIPTION> Checks that postcodes are in correct format. Is written for UK format, but is easily adapted for other countries.<!/DESCRIPTION> 
  8.  
  9. <!CATEGORY>Forms<!/CATEGORY>
  10.  
  11. <!SCRIPT>
  12. <!-- START OF SCRIPT -->
  13.  
  14.  
  15. <!-- HOW TO INSTALL UK POSTCODE VALIDATION:
  16.  
  17.   1.  Copy code into the HEAD section of document
  18.   2.  Put last coding into the BODY section of document  -->
  19.  
  20. <!-- STEP ONE: Add code into HEAD section of document  -->
  21.  
  22. <HEAD>
  23.  
  24. <SCRIPT LANGUAGE="JavaScript">
  25.  
  26. <!-- Original code by Peter Haydon -->
  27. <!-- peter_haydon@lineone.net -->
  28.  
  29. <!-- Begin
  30. function postit(){ //check postcode format is valid
  31.  test = document.details.pcode.value; size = test.length
  32.  test = test.toUpperCase(); //Change to uppercase
  33.  while (test.slice(0,1) == " ") //Strip leading spaces
  34.   {test = test.substr(1,size-1);size = test.length
  35.   }
  36.  while(test.slice(size-1,size)== " ") //Strip trailing spaces
  37.   {test = test.substr(0,size-1);size = test.length
  38.   }
  39.  document.details.pcode.value = test; //write back to form field
  40.  if (size < 6 || size > 8){ //Code length rule
  41.   alert(test + " is not a valid postcode - wrong length");
  42.   document.details.pcode.focus();
  43.   return false;
  44.   }
  45.  if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
  46.    alert(test + " is not a valid postcode - cannot start with a number");
  47.    document.details.pcode.focus();
  48.    return false;
  49.   }
  50.  if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
  51.    alert(test + " is not a valid postcode - alpha character in wrong position");
  52.    document.details.pcode.focus();
  53.    return false;
  54.   }
  55.  if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
  56.    alert(test + " is not a valid postcode - number in wrong position");
  57.    document.details.pcode.focus();
  58.    return false;
  59.   }
  60.  if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
  61.    alert(test + " is not a valid postcode - number in wrong position");
  62.    document.details.pcode.focus();
  63.    return false;
  64.   }
  65.  if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
  66.    alert(test + " is not a valid postcode - no space or space in wrong position");
  67.    document.details.pcode.focus();
  68.    return false;
  69.    }
  70.  count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
  71.  if (count1 != count2){//only one space rule
  72.    alert(test + " is not a valid postcode - only one space allowed");
  73.    document.details.pcode.focus();
  74.    return false;
  75.   }
  76. alert("Postcode Format OK");
  77. return true;
  78. }
  79. //  End -->
  80. </script>
  81.  
  82. </HEAD>
  83.  
  84. <!-- STEP TWO: Add code into BODY section of document  -->
  85.  
  86. <BODY>
  87.  
  88. <p><b>UK Postcode Format Validation</b>
  89. <p><b>Postcodes must conform to the following rules:-</b>
  90. <ol>
  91.   <li>The total length must be 6,7, or 8 characters, a gap (space character) must be included
  92.   <li>The inward code, the part to the right of the gap, must always be 3 characters
  93.   <li>The first character of the inward code must be numeric
  94.   <li>The second and third characters of the inward code must be alpha
  95.   <li>The outward code, the part to the left of the gap, can be 2,3, or 4 characters
  96.   <li>The first character of the outward code must be alpha
  97. </ol>
  98.  
  99. <form name="details">
  100.   <b>Postcode: </b>
  101.   <input type="text" name="pcode" size="10" maxlength="10">
  102.   <input type="button" name="Button" value="Check Code" onclick="postit()">
  103. </form>
  104.  
  105. <p><b>Note:</b> There are over 1.7 million UK postcodes, and that number grows daily. This page cannot guarantee that a particular code is valid, it only checks that the format is correct.
  106.  
  107.  
  108.  
  109. <!-- END OF SCRIPT -->
  110. <!/SCRIPT>
  111.  
  112. <!PREVIEW>
  113. <!-- START OF SCRIPT -->
  114.  
  115.  
  116. <!-- HOW TO INSTALL UK POSTCODE VALIDATION:
  117.  
  118.   1.  Copy code into the HEAD section of document
  119.   2.  Put last coding into the BODY section of document  -->
  120.  
  121. <!-- STEP ONE: Add code into HEAD section of document  -->
  122.  
  123. <HEAD>
  124.  
  125. <SCRIPT LANGUAGE="JavaScript">
  126.  
  127. <!-- Original code by Peter Haydon -->
  128. <!-- peter_haydon@lineone.net -->
  129.  
  130. <!-- Begin
  131. function postit(){ //check postcode format is valid
  132.  test = document.details.pcode.value; size = test.length
  133.  test = test.toUpperCase(); //Change to uppercase
  134.  while (test.slice(0,1) == " ") //Strip leading spaces
  135.   {test = test.substr(1,size-1);size = test.length
  136.   }
  137.  while(test.slice(size-1,size)== " ") //Strip trailing spaces
  138.   {test = test.substr(0,size-1);size = test.length
  139.   }
  140.  document.details.pcode.value = test; //write back to form field
  141.  if (size < 6 || size > 8){ //Code length rule
  142.   alert(test + " is not a valid postcode - wrong length");
  143.   document.details.pcode.focus();
  144.   return false;
  145.   }
  146.  if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
  147.    alert(test + " is not a valid postcode - cannot start with a number");
  148.    document.details.pcode.focus();
  149.    return false;
  150.   }
  151.  if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
  152.    alert(test + " is not a valid postcode - alpha character in wrong position");
  153.    document.details.pcode.focus();
  154.    return false;
  155.   }
  156.  if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
  157.    alert(test + " is not a valid postcode - number in wrong position");
  158.    document.details.pcode.focus();
  159.    return false;
  160.   }
  161.  if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
  162.    alert(test + " is not a valid postcode - number in wrong position");
  163.    document.details.pcode.focus();
  164.    return false;
  165.   }
  166.  if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
  167.    alert(test + " is not a valid postcode - no space or space in wrong position");
  168.    document.details.pcode.focus();
  169.    return false;
  170.    }
  171.  count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
  172.  if (count1 != count2){//only one space rule
  173.    alert(test + " is not a valid postcode - only one space allowed");
  174.    document.details.pcode.focus();
  175.    return false;
  176.   }
  177. alert("Postcode Format OK");
  178. return true;
  179. }
  180. //  End -->
  181. </script>
  182.  
  183. </HEAD>
  184.  
  185. <!-- STEP TWO: Add code into BODY section of document  -->
  186.  
  187. <BODY>
  188.  
  189. <p><b>UK Postcode Format Validation</b>
  190. <p><b>Postcodes must conform to the following rules:-</b>
  191. <ol>
  192.   <li>The total length must be 6,7, or 8 characters, a gap (space character) must be included
  193.   <li>The inward code, the part to the right of the gap, must always be 3 characters
  194.   <li>The first character of the inward code must be numeric
  195.   <li>The second and third characters of the inward code must be alpha
  196.   <li>The outward code, the part to the left of the gap, can be 2,3, or 4 characters
  197.   <li>The first character of the outward code must be alpha
  198. </ol>
  199.  
  200. <form name="details">
  201.   <b>Postcode: </b>
  202.   <input type="text" name="pcode" size="10" maxlength="10">
  203.   <input type="button" name="Button" value="Check Code" onclick="postit()">
  204. </form>
  205.  
  206. <p><b>Note:</b> There are over 1.7 million UK postcodes, and that number grows daily. This page cannot guarantee that a particular code is valid, it only checks that the format is correct.
  207.  
  208.  
  209.  
  210. <!-- END OF SCRIPT -->
  211. <!/PREVIEW>
  212.  
  213. <!RELATED>NONE<!/RELATED>
  214.